package com.cyx;

import java.util.Scanner;
import java.util.Stack;

/**
 * @author 陈裕星
 * @version 1.0
 * 给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。
 * 有效字符串需满足：
 * 左括号必须用相同类型的右括号闭合。
 * 左括号必须以正确的顺序闭合。
 */
public class 有效的括号 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        //定义栈
        Stack<Character> stack = new Stack<>();
        for (char c : s.toCharArray()){
            if(c == '('){
                stack.push(')');
            }else if(c == '['){
                stack.push(']');
            }else if(c == '{'){
                stack.push('}');
            }else {
                if(stack.isEmpty()){
                    System.out.println("匹配失败");
                    System.exit(0);
                }
                if(stack.pop() != c){
                    System.out.println("匹配失败");
                    System.exit(0);
                }
            }
        }
        if (stack.isEmpty()){
            System.out.println("匹配成功");
        }else {
            System.out.println("匹配失败");
        }
    }
}
